To validate the proposed adjusted cyclomatic complexity metric an experiment has been performed. The purpose of the experiment is to validate that the new metric gives better insight into the perceived complexity of source code under investigation (SCuI). The hypothesis is:
Ordering the classes by the adjusted cyclomatic complexity will be closer to the order of perceived complexity then when cyclomatic complexity is used for ordering.

\subsection{Experiment Design}
Due to time limitations only a small experiment was realistic. Only 10 classes with mapping code have been used for the experiment. The classes with mapping code have been selected with one criteria: The input of the mapping code was XML message. Code that meets this criteria may contain the optional field mapping pattern, while other code might not. The classes are classified in in perceived complexity on a scale of 1 to 5, indicating 1 as very complex and 5 as very simple. Also the lines of code is interesting to get an idea of the size of a mapping code class. Size is defines as Non Commented Source Lines Of Code (NCSLOC) for a Java class file. The following table shows the classes with there size and perceived complexity (PC):
{\footnotesize
\begin{tabular}{ |l|l|l|} \hline 
\textbf{Class Name} & \textbf{Size} & \textbf{PC} \\ \hline 
jcdContracsToSkidataTranslator & 627 & 5 \\ \hline
jcdFromCISSToCDM & 882 & 4 \\ \hline 
jcdFromCISSToInternet & 430 & 4 \\ \hline 
jcdFromCISSToKLMFlights & 354 & 4 \\ \hline 
jcdFromCISSToFAVIS & 326 & 3 \\ \hline 
jcdFromKLMFlightsToCISS & 128 & 2 \\ \hline 
jcdFromCISSToNOMOS & 237 & 2  \\ \hline 
jcdFromBadgeOwnerToASSTestAdmin & 100 &  2\\ \hline 
jcdCISSFlightsToBAS & 186 &  2\\ \hline 
jcdFromBlipWTToFIDS & 55 & 1 \\ \hline 
\end{tabular}
}
\\\\
To measure the desired metrics a program has been written in Rascal\footnote{Rascal program code can be accessed at http://rascal2011.googlecode.com/svn/trunk/NewCylcoComp/ }.
McCabe's Cyclomatic complexity is counted following the rules stated in \cite {gill1991cyclomatic} with the following exceptions: 
\begin{itemize}
\item All return statements, including the return statements that are not the last statement in  a method are counted. The reason is it is relatively complex to code and the SCuI does not contain return statements that are not the last statement. (TODO: Still add to code to be complete, might have some time left.)
\item Instead of counting the Swith statement + the total cases - 2, as proposed in \cite {gill1991cyclomatic}, all case statements are counted and not the Switch statement. In Java all cases are a path in the flow control graph, the switch statement itself is not. So counting all the cases and not the switch is more accurate.
\end{itemize}
To measure the adjusted cyclomatic complexity the same rules are applies as with McCabe's cyclomatic complexity, but for the If Statements the extra rules that are defined in section~\ref{sec:proposedmetric}. There is a huge variation in the size of the classes. To be able to compare the results regardless of the unit size also the adjusted and McCabe cyclomatic complexity per 100 NCSLOC.
\\
WORK QUESTION: describe Assumptions and environment (e.g. java, mapping code, quirks of the IDE etc); 
\\
The expected results of the experiment are that they will support the stated hypothesis. It is expected they will show that if the classes are ordered by adjusted complexity the ordering of the classes is closer to the ordering of perceived complexity then when the classes are ordered by McCabe complexity. For example class A and B has an McCabe complexity of 100 and class A has an adjusted complexity of 70 and class B has an adjusted complexity of 90, class A has been classified lower on perceived complexity.

\subsection{Experiment Results}
The experiment results are described. Insert a table with class name, LOC, TOTAL CC and TOTAL CC adaption, CC per 100 LOC, CC Adaption per 100LOC. Do a qualitative analysis of the difference in number. Analyze if a lower CC adaption number does imply that the code is simpler.
\\ Might ask colleagues to help here to try to be objective.